//package br.com.virtual.cadastrar.model;
//
//import javax.persistence.Entity;
//import javax.persistence.EntityListeners;
//import javax.persistence.GeneratedValue;
//import javax.persistence.GenerationType;
//import javax.persistence.Id;
//import javax.persistence.OneToOne;
//
//import br.com.virtual.base.listener.VirtualEntityListener;
//import br.com.virtual.base.model.VirtualModel;
//
//@Entity
//@EntityListeners({ VirtualEntityListener.class })
//public class Cliente extends VirtualModel implements Comparable<Cliente> {
//
//	private static final long serialVersionUID = 1L;
//
//	@Id	@GeneratedValue(strategy = GenerationType.IDENTITY)
//	private Long id;
//
//	@OneToOne
//	private Pessoa pessoa;
//
//	
//	/*
//	 * GETTERS AND SETTERS
//	 */
//
//	public Long getId() {
//		return id;
//	}
//
//	public void setId(Long id) {
//		this.id = id;
//	}
//
//	public Pessoa getPessoa() {
//		return pessoa;
//	}
//
//	public void setPessoa(Pessoa pessoa) {
//		this.pessoa = pessoa;
//	}
//
//	@Override
//	public int hashCode() {
//		final int prime = 31;
//		int result = 1;
//		result = prime * result + ((pessoa == null) ? 0 : pessoa.hashCode());
//		return result;
//	}
//
//	@Override
//	public boolean equals(Object obj) {
//		if (this == obj)
//			return true;
//		if (obj == null)
//			return false;
//		if (getClass() != obj.getClass())
//			return false;
//		Cliente other = (Cliente) obj;
//		if (pessoa == null) {
//			if (other.pessoa != null)
//				return false;
//		} else if (!pessoa.equals(other.pessoa))
//			return false;
//		return true;
//	}
//
//	@Override
//	public String toString() {
//		return "Cliente [id=" + id + ", pessoa=" + pessoa + "]";
//	}
//
//	@Override
//	public int compareTo(Cliente o) {
//		return this.pessoa.getNome().trim().toUpperCase()
//				.compareTo(o.pessoa.getNome().trim().toUpperCase());
//	}
//}
